package com.shanzmoo.db.module.pay.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shanzmoo.db.common.entity.BaseTimeEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * <p>
 * 扫呗-支付订单表
 * </p>
 *
 * @author dingmeng
 * @since 2021-04-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("s_pay_order_info")
public class SPayOrderInfoEntity extends BaseTimeEntity {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 业务订单号
     */
    private String orderCode;

    /**
     * 支付订单号
     */
    private String payOrderCode;

    /**
     * 商户号
     */
    private String merchantNo;

    /**
     * 终端号
     */
    private String terminalId;

    /**
     * 终端交易时间
     */
    private String terminalTime;

    /**
     * 订单业务类型：1.扫描订单，2. 会员充值订单，3. 积分商城订单，4.采购商城订单，5.到家商城订单
     */
    private Integer orderType;

    /**
     * 支付方式：010微信，020支付宝，060qq钱包，090口碑，100翼支付，140和包支付（仅限和包通道），150福卡支付
     */
    private String payType;

    /**
     * 订单金额(分)
     */
    private String totalFee;

    /**
     * 微信openid
     */
    private String openId;

    /**
     * 支付宝userid
     */
    private String userId;

    /**
     * 订单描述
     */
    private String orderBody;

    /**
     * 付款时间
     */
    private LocalDateTime payTime;

    /**
     * 订单状态(1支付成功，2转入退款，3未支付，4已关闭，5用户支付中，6已撤销，7未支付支付超时，8支付失败)
     */
    private Integer payStatus;

    /**
     * 利楚唯一订单号
     */
    private String outTradeNo;

    /**
     * 微信公众号id
     */
    private String appId;

    /**
     * 时间戳(微信公众号支付返回字段)
     */
    private String timeStamp;

    /**
     * 随机字符串(微信公众号支付返回字段)
     */
    private String nonceStr;

    /**
     * 订单详情扩展字符串(微信公众号支付返回字段)
     */
    private String packageStr;

    /**
     * 签名方式(MD5,RSA微信公众号支付返回字段)
     */
    @TableField("signType")
    private String signType;

    /**
     * 签名(微信公众号支付返回字段)
     */
    private String paySign;

    /**
     * 支付宝JSAPI支付返回字段用于调起支付宝JSAPI
     */
    private String aliTradeNo;

    /**
     * 创建人
     */
    private Integer createUser;

    /**
     * 更新人
     */
    private Integer updateUser;


}
